package com.skh.string;

/**
 * @Author skh
 * @Date 2020/3/29 13:40
 * @Desc 判定是否互为字符重排
 */
public class CheckPermutation {
    /**
     * 给定两个字符串 s1 和 s2，请编写一个程序，确定其中一个字符串的字符重新排列后，能否变成另一个字符串。
     *
     * 示例 1：
     *
     * 输入: s1 = "abc", s2 = "bca"
     * 输出: true
     * 示例 2：
     *
     * 输入: s1 = "abc", s2 = "bad"
     * 输出: false
     */

    public boolean CheckPermutation(String s1, String s2) {
        int[] h1 = new int[26];
        int[] h2 = new int[26];

        for (int i = 0; i < s1.length(); i++) {
            h1[s1.charAt(i)-'a']++;
        }
        for (int i = 0; i < s2.length(); i++) {
            h2[s2.charAt(i)-'a']++;
        }

        for (int i = 0; i < 26; i++) {
            if (h1[i] != h2[i]) {
                return false;
            }
        }

        return true;
    }


}
